package com.cm.sys.system.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.cm.sys.system.entity.User;
import com.cm.sys.system.entity.UserRole;

/***
 * 用户模块
 * 
 * @author yxq18
 *
 */
public interface UserService {

    /***
     * 新增用户
     * 
     * @param args
     * @return
     */
    public User saveUser(JSONObject args);

    /***
     * 删除用户
     * 
     * @param args
     * @return
     */
    public int delUser(JSONObject args, Integer userId);

    /***
     * 更新用户
     * 
     * @param args
     * @return
     */
    public User updateUser(JSONObject args, Integer userId);

    /***
     * 查询所有用户
     * 
     * @param args
     * @return
     */
    public Map<String, Object> selectUsers(JSONObject args);

    /***
     * 查询单个用户
     * 
     * @param args
     * @return
     */
    public User selectUser(Integer userId);

    /***
     * 确认用户账户
     * 
     * @param userId
     * @param password
     * @return
     */
    public User verifyUser(Integer userId, String password);

    /***
     * 确认用户账户
     * 
     * @param userId
     * @param password
     * @return
     */
    public User accountUser(String userName, String password);

    public User updateUser(User user);

    /***
     * 登出的时候更新token
     */
    public void updateToken(Integer userId, String token);

    /***
     * 组装对象
     * 
     * @param userRole
     * @param userId
     * @return
     */
    public List<UserRole> getUserRole(String userRole, Integer userId);

    /***
     * 上次登录时间时间更新
     */
    public void updateLoginTime(Integer userId,Integer createTime);
}
